package tech.mhuang.pacebox.springboot.autoconfiguration.kaptcha;

import lombok.Data;
import org.springframework.boot.context.properties.ConfigurationProperties;
import tech.mhuang.pacebox.springboot.autoconfiguration.ConfigConsts;

/**
 * 验证码属性
 *
 * @author mhuang
 * @since 1.0.0
 */
@Data
@ConfigurationProperties(prefix = ConfigConsts.KAPTCHA)
public class KaptchaProperties {

    /**
     * 是否使用验证码
     */
    private boolean enable;

    /**
     * 是否存在边框
     */
    private boolean borderEnable = true;

    /**
     * 边框颜色
     */
    private String borderColor = "105,179,90";

    /**
     * 文本间距
     */
    private int textSpace = 4;

    /**
     * 文本长度
     */
    private int textLength = 6;

    /**
     * 字体大小
     */
    private int textFontSize = 40;

    /**
     * 文本字体名称
     */
    private String textFontName = "Arial,Courier";

    /**
     * 文本字体颜色
     */
    private String textFontColor = "blue";

    /**
     * 图片宽度
     */
    private int imageWidth = 200;

    /**
     * 图片高度
     */
    private int imageHeight = 50;

    /**
     * 噪点颜色
     */
    private String noiseColor = "white";

    /**
     * 噪点生成类
     */
    private String noiseGenClazz = "com.google.code.kaptcha.impl.NoNoise";

    /**
     * 文本生成类
     */
    private String textGenClazz = "tech.mhuang.pacebox.springboot.autoconfiguration.kaptcha.KaptchaTextCreator";

    /**
     * 图片生成类
     */
    private String imageGenClazz = "com.google.code.kaptcha.impl.ShadowGimpy";
}